package io.bdmc.modules.bss.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 设备表
 * </p>
 *
 * @author hl
 * @since 2018-12-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BarDev implements Serializable,Cloneable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "dev_id", type = IdType.AUTO)
    private Long devId;

    /**
     * 设备名
     */
    private String devName;

    /**
     * 设备状态
     */
    private Integer devStatus;

    /**
     * 型号
     */
    private String model;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * imei
     */
    private String imei;

    /**
     * 制造单位
     */
    private String manufac;

    /**
     * 制造日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime manuDate;

    /**
     * sim卡号
     */
    private String sim;

    /**
     * 安装路段
     */
    private String installRoad;

    /**
     * 安装日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime installDate;

    /**
     * 位号编码
     */
    private String installCode;
 /**
     * 位号编码第1段
     */
    private String code1;
     /**
     * 位号编码第2段
     */
    private String code2;
     /**
     * 位号编码第3段
     */
    private String code3;
    /**
     * 上次检修时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime lastCheck;

    /**
     * 检修总次数
     */
    private Integer checkTimes;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    private String lat;

    private String lng;

    	/**
	 * 创建者ID
	 */
    private Long createUser;
    
    /**
	 * 部门名称
	 */
    @TableField(exist = false)
    private String depName;
    
    @TableField(exist = false)
	private float distance;

	/**
	 * 部门级联id
	 */
    @TableField(exist = false)
    private String depCascader;
    
    public Object clone() {   

        try {   

            return super.clone();   

        } catch (CloneNotSupportedException e) {   

            return null;   

        }   

    }   
}
